The most popular approach for online data sharing, in particular photos, is a serving architecture based on centralized computing, where a central server provides photosharing services to users by serving images to their web browsers from a fixed location on the Internet. FIG. 1 is a diagram illustrating a conventional server architecture 10 that includes a client 12 connecting to a Web server 14 through a web browser 16. Communication between the Web browser 16 and the Web server 14 is based on hypertext transport protocol (HTTP). The function of HTTP is to establish a connection between the Web browser 16 and the Web server 14 and to transmit HTML pages from the Web server 14 to the client browser 16 or any other files required by an HTTP application.
HTTP is a request/response system. The connection is maintained between client 12 and server 14 only for the immediate request. Using Transmission Control Protocol/Internet Protocol (TCP/IP), the Web browser 16 first establishes a TCP connection with the server 14, and then sends an HTTP request command 18 to the Web server 14. The Web server 14 responds by sending back TCP/IP packets 20 in the form of headers (messages) and files (HTML pages, Java applets, etc.), and then closes the connection. As is well-known, TCP/IP is a routable protocol where all messages contain not only the address of the destination station, but the address of a destination network. Every client 12 and server 14 in a TCP/IP network requires an IP address, which is either permanently assigned or dynamically assigned at startup.
This works reasonably well for many photosharing situations, especially with peer-to-peer (P2P) photosharing applications in which each peer computer in the P2P network acts as a server to share pictures with others in the network without the users having to upload their pictures to a Web site. One example of such a P2P application is Photo Vibe 1.2 by XFormx, Inc. of Needham, Mass. One problem with a photosharing P2P network is that an invitation to view pictures on one of the peer computers in the P2P network may be accepted at a time when the peer computer that issued the invitation is not available, e.g. the machine is turned off. Unlike a dedicated server that remains online nearly all of the time, most individuals turn off their machines (peer servers) when not using them. If the owner of the peer computer turns off their machine, halts the software connected them to the P2P network, or has an interruption in Internet service, a recipient of an invitation to view photos on such a network would be unable to do so during the period of time the peer server is offline. The recipient would access the photos primarily by luck.
Accordingly, what is needed is a method and system for providing notification of the availability of a peer computer in a peer-to-peer network. The present invention addresses such a need.